{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[<IBMQSimulator('ibmq_qasm_simulator') from IBMQ(hub='ibm-q', group='open', project='main')>, <IBMQBackend('ibmqx2') from IBMQ(hub='ibm-q', group='open', project='main')>, <IBMQBackend('ibmq_16_melbourne') from IBMQ(hub='ibm-q', group='open', project='main')>, <IBMQBackend('ibmq_vigo') from IBMQ(hub='ibm-q', group='open', project='main')>, <IBMQBackend('ibmq_ourense') from IBMQ(hub='ibm-q', group='open', project='main')>, <IBMQBackend('ibmq_london') from IBMQ(hub='ibm-q', group='open', project='main')>, <IBMQBackend('ibmq_burlington') from IBMQ(hub='ibm-q', group='open', project='main')>, <IBMQBackend('ibmq_essex') from IBMQ(hub='ibm-q', group='open', project='main')>]\n"
     ]
    }
   ],
   "source": [
    "%matplotlib inline\n",
    "\n",
    "# Qiskit standard libraries\n",
    "from qiskit import QuantumCircuit, QuantumRegister, ClassicalRegister\n",
    "from qiskit import IBMQ, Aer, execute\n",
    "\n",
    "# Qiskit specific tools\n",
    "from qiskit.tools.visualization import plot_histogram\n",
    "from qiskit.compiler import transpile\n",
    "\n",
    "# Other imports\n",
    "import numpy\n",
    "import networkx\n",
    "\n",
    "provider = IBMQ.load_account()\n",
    "backends = provider.backends()\n",
    "print(backends)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "#### ========================= ####\n",
    "#### QAOA Operations (1 round) ####\n",
    "#### ========================= ####\n",
    "\n",
    "# - circuit circ\n",
    "# - problem graph G\n",
    "# - mixing and phase separation angles beta, gamma\n",
    "def initH(circ, G):\n",
    "    for q in G.nodes():\n",
    "        circ.h(q)\n",
    "\n",
    "def measure(circ, G):\n",
    "    for q in G.nodes():\n",
    "        circ.measure(q, q)\n",
    "    \n",
    "def mixer(circ, G, beta):\n",
    "    for q in G.nodes():\n",
    "        circ.u3(2.0*beta, -numpy.pi/2.0, numpy.pi/2.0, q)\n",
    "\n",
    "def phaseSep(circ, G, gamma):\n",
    "    for q0, q1 in G.edges():\n",
    "        # phase separator\n",
    "        circ.cx(q1, q0)\n",
    "        circ.u1(-gamma, q0)\n",
    "        circ.cx(q1,q0)\n",
    "\n",
    "def phaseSep_old(circ, G, gamma):\n",
    "    for q0, q1 in G.edges():\n",
    "        # unnecessary global phase on q1\n",
    "        circ.x(q1)\n",
    "        circ.u1(-gamma/2.0, q1)\n",
    "        circ.x(q1)\n",
    "        circ.u1(-gamma/2.0, q1)\n",
    "        # phase separator\n",
    "        circ.cx(q1, q0)\n",
    "        circ.x(q0)\n",
    "        circ.u1(gamma/2.0, q0)\n",
    "        circ.x(q0)\n",
    "        circ.u1(-gamma/2.0, q0)\n",
    "        circ.cx(q1,q0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 758.52x144.48 with 1 Axes>"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#### ================================================ ####\n",
    "#### Comparison of Old and Simplified Phase Separator ####\n",
    "#### ================================================ ####\n",
    "\n",
    "# Single edge\n",
    "G = networkx.Graph([(0,1)])\n",
    "\n",
    "# Old Phase Separator Circuit\n",
    "circPS_old = QuantumCircuit(2)\n",
    "phaseSep_old(circPS_old, G, 2.0*numpy.pi/3.0)\n",
    "circPS_old.draw()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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x/KDW9y3fR47XUv6KO9cLzN6KPz9HfDwdGg4BzWn4I1i97an5rlnFYP614k1S9hcnlhWln7j8kLc9W6Y8pRfzv0RWRNu7fVMiYmNX+9mwZSZPW4/1FDJR+WH+Omdf+ezj0r09b72Bs0wxKOen/GgJeP0FhYA6aPivTa7CGR+cmQlIt6gGYZ4lD5J3b9ohiEixhQYImJMgSEixhQYImJMgSEixhQYImJMgSEixhQYImJMgSEixhQYImJMgSEixhQYImJMgSEixhQYImJMgSEixhQYImJMgSEixhQYImJMgSEixhQYImJMgSEixhQYImJMgSEixhQYImIs4ALD6XSyevVqkpKSCA8PJz09HYfDweTJk8nNzfV1eZY5dwG2fnnl64NV0OH0XT3+7HQLbDl85esjNeD0008sDrhPPlu8eDGFhYUsX76cjIwMiouLWbhwIY2NjTz//PO+Ls8Sjq/hvQPQcdUv7fodMGwQ/HgujBvus9L8issFm/8CH5fA1fnwn9tg1FDInQsxQ3xUnIcE1Ke35+fnk5OTw7Zt28jMzOxsnz9/PoWFhezZs4cZM2b4sMKbt6cMNuy69jabDSJC4GcPuMNDbs4nX8IHB6+9zWaDYRHufR0R6t26PCmgDkny8vLIzs7uEhYAiYmJhISEkJaWBsCKFStITk7GbrdTUFDgi1L7xOmETYd63u5ywfmLsOOo92ryV22X4KOSnre7XHD6vDvA/UnABEZ1dTUlJSUsWLCg27aqqipSUlIICwsDIDs7my1btjBnzhxvl3lTTjTCmfPX7/f5Cc/X4u9KquHipd772PC/fR0waxjV1dUAxMbGdmlvbW3F4XBw3333dbbNmjXLq7XZbDZLxkm681Huf/p/rtvv3AUnNluQJc8ZqG6791/IfHxNr31cwPHKemy22F779QemKxMBM8OIiYkBoLS0tEv7qlWrqK2tJSMjwxdlWepC80mjfm0tpz1cif9rNdjXLqeT1nONXqjGewJmhpGQkEBaWhp5eXlER0czbtw4CgoK2LRpE4BPA8OqdecOJ7z8jvuUam/uvWMEawNnrdsjLrTD8rehvaPnPja7nScevJU3XvSffR0wMwy73c7GjRtJSUlh6dKlLFq0iJiYGJYtW0ZQUFDngudAFmSHe1N73m4DwoJhzmSvleS3wkMga2rP2202GBIOMxO9V5M3BMwMAyA5OZmioqIubY8//jjTpk0jIiLCR1VZa3YStLS5rw8A9y8uuFftI0IhNwtGRPquPn+SnQat7VfOOtm++8vlgqgIePIeGBzmywqtF1DXYVzL1KlTmTlzJuvWretsW758OevWraOxsZHIyEgiIiJwOBxMmjTJh5XemG+bYddxqGtyzzymjoXp8RAaUC8R3lHXBLuPw8lmCAmC1DhIGw/BfriuHNCB0dzcTFRUFGvWrOHpp5/2dTki/V5AB4aI3JiAWfQUkZunwBARYwoMETGmwBARYwoMETGmwBARYwoMETGmwBARYwoMETGmwBARYwoMETGmwBARYwoMETGmwBARYwoMETGmwBARYwoMETGmwBARYwoMETGmwBARYwoMETGmwBARYwoMETGmwBARYwoMETGmwBARYwoMETH2f+DjLxZrig+/AAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 337.12x144.48 with 1 Axes>"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Simplified Phase Separator Circuit\n",
    "circPS = QuantumCircuit(2)\n",
    "phaseSep(circPS, G, 2.0*numpy.pi/3.0)\n",
    "circPS.draw()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Circuit unitary of Old Phase Separator:\n",
      " [[ 1. +0.j         0. +0.j         0. +0.j         0. +0.j       ]\n",
      " [ 0. +0.j        -0.5-0.8660254j  0. +0.j         0. +0.j       ]\n",
      " [ 0. +0.j         0. +0.j        -0.5-0.8660254j  0. +0.j       ]\n",
      " [ 0. +0.j         0. +0.j         0. +0.j         1. +0.j       ]]\n",
      "\n",
      "Circuit unitary of Simplified Phase Separator:\n",
      " [[ 1. +0.j         0. +0.j         0. +0.j         0. +0.j       ]\n",
      " [ 0. +0.j        -0.5-0.8660254j  0. +0.j         0. +0.j       ]\n",
      " [ 0. +0.j         0. +0.j        -0.5-0.8660254j  0. +0.j       ]\n",
      " [ 0. +0.j         0. +0.j         0. +0.j         1. +0.j       ]]\n"
     ]
    }
   ],
   "source": [
    "# Simulating Circuit Unitaries\n",
    "unitary_simulator = Aer.get_backend('unitary_simulator')\n",
    "\n",
    "# Execute and get counts of Old Phase Separator\n",
    "result = execute(circPS_old, unitary_simulator).result()\n",
    "unitary = result.get_unitary(circPS_old)\n",
    "print(\"Circuit unitary of Old Phase Separator:\\n\", unitary)\n",
    "\n",
    "# Execute and get counts of Simplified Phase Separator\n",
    "result = execute(circPS, unitary_simulator).result()\n",
    "unitary = result.get_unitary(circPS)\n",
    "print(\"\\nCircuit unitary of Simplified Phase Separator:\\n\", unitary)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "#### =============== ####\n",
    "#### QAOA (p rounds) ####\n",
    "#### =============== ####\n",
    "\n",
    "# - circuit circ\n",
    "# - problem graph G\n",
    "# - mixing and phase separation angle vectors beta, gamma\n",
    "\n",
    "def QAOA(circ, G, beta, gamma):\n",
    "    p = len(gamma)\n",
    "    initH(circ, G)\n",
    "    for i in range(p):\n",
    "        phaseSep(circ, G, gamma[i])\n",
    "        mixer(circ, G, beta[i])\n",
    "    measure(circ,G)\n",
    "\n",
    "def QAOA_old(circ, G, beta, gamma):\n",
    "    p = len(gamma)\n",
    "    initH(circ, G)\n",
    "    for i in range(p):\n",
    "        # WRONG ORDER HERE!\n",
    "        mixer(circ, G, beta[i])\n",
    "        phaseSep(circ, G, gamma[i])\n",
    "    measure(circ,G)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "## =========================================== ##\n",
    "## Demonstration of (in)correct implementation ##\n",
    "## =========================================== ##\n",
    "\n",
    "# Devices\n",
    "qasm_simulator = Aer.get_backend('qasm_simulator')\n",
    "ibmqx2 = provider.get_backend('ibmqx2')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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tddec7iF5dGjR6lXrx6hoe7ZeX//8ttu2a6IiIiImPPS0+OdWk43bQE2bNjAnDlzGDp0KG+88Qa2qwb0u2saGRERERGp2dQzDdx3330sXbqUHTt2kJCQYHU4HvF99knemLeUW/t049a+3awOR0RERCpx/FQu4WH1qpzB40ZSWlrKiVO5NA5vYHUobqVkGggNDSU8PJz09HRL3l/DPERERERuLM4O8/D6CxBzc3PJy8ujRYsWVociIiIiIjWM1/dMnz59mrCwMNq3b8+ePXusDscjPvjnFxw8/D1PPzaKoMAAq8MRERERqbG8vme6QYMGxMXFsXfvXr788strXv/uu+8siMp9vs8+yZ59h+ib2FGJtIiIiMh10mwewIsvvsiIESMYNmwYd911Fy1btuT48eMkJSXRvn17/vnPf1odosvk5J4jrH6o5pUWERERcQGvH+Zx2cqVK5k1axbJyclcvHiRxo0bc/PNNzN58mT69etndXguVVJSojseioiIiLiAkmkREREREZPUPSkiIiIiYpKSaRERERERk5RMi4iIiIiYpGRaRERERMQkJdMiIiIiIiYpmRYRERERMUnJtIiIiIiISUqmRURERERMUjItIiIiImKSkmkREREREZOUTIuIiIiImKRkWkRERETEJCXTIiIiIiImKZkWERERETFJybSIiIiIiElKpkVERERETFIyLSIiIiJikpJpERERERGTlEyLiIiIiJikZFpERERExCQl0yIiIiIiJimZFhERERExScm0iIiIiIhJSqZFRERERExSMi0iIiIiYpKSaRERERERk5RMi4iIiIiY9P9+eGvyrwBvzwAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 939.12x204.68 with 1 Axes>"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "## Circuit of current (incorrect) implementation\n",
    "circ_old = QuantumCircuit(2,2)\n",
    "QAOA_old(circ_old, G, [0.0785, 0.3927], [1.4137, 0.6283])\n",
    "# Simulate\n",
    "result = execute(circ_old, qasm_simulator, shots=100000).result()\n",
    "counts_old = result.get_counts(circ_old)\n",
    "circ_old.draw()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 638.12x204.68 with 1 Axes>"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "## Circuit of correct implementation\n",
    "circ = QuantumCircuit(2,2)\n",
    "QAOA(circ, G, [0.3927], [1.4137])\n",
    "# Simulate\n",
    "result = execute(circ, qasm_simulator, shots=100000).result()\n",
    "counts = result.get_counts(circ)\n",
    "circ.draw()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 504x360 with 1 Axes>"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "## Compare Results\n",
    "plot_histogram(\n",
    "    [counts_old,counts], \n",
    "    legend=['Incorrect 2-round QAOA: Mixer-PhaseSep-Mixer-PhaseSep','Correct 1-round QAOA: PhaseSep-Mixer'],\n",
    "    title='Comparison of (in)correct QAOA implementations'\n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [],
   "source": [
    "## ============================ ##\n",
    "## Proof-of-Concept Experiments ##\n",
    "#============================== ##\n",
    "\n",
    "## Graphs\n",
    "Edge = networkx.Graph([(1,2)])\n",
    "Triangle = networkx.Graph([(2,3),(2,4),(3,4)])\n",
    "TplusE = networkx.compose_all([Triangle,Edge])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Error checking job status using websocket, retrying using HTTP.\n"
     ]
    },
    {
     "data": {
      "image/png": "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PRmR/y/AeuDPZtbHzI4luF18mrtXTszzAHCimd1kZoeZ2S+BE4DJDXVSIiIi8dC3b99tSUlJnH322VlTp05tXVxcnFRb/jfeeKN1Xl7eonfeeWfxI4880mns2LHdnnnmmWUrVqz4T0FBQYvHHnssLdo6lJeXc+mll65buXLlJytWrPhP8+bNK6688squAL///e9XDxgw4Os777xzZWlpad6TTz65cu3atUmjRo3qNW7cuLUlJSXzx48fv3bUqFG91qxZs6vu06ZNS5syZcryzZs3f9yrV6+oBj41aGDj7s8R3IZ9CzCfYGDwae5e2frSlW+6mHD3rwkGFrchuDtqKsGquJdH5HkXGANcRjC/zSXAee7+wT4+HRERkbhKS0urmDVr1qdmxvjx47MyMjKOOPHEE3t+8cUX1d4c9Itf/GJNWlpaxcCBA7f16tVr64knnrjp8MMP39G+ffvyE088cWNeXl5qtHXo1KlT+WWXXfZVq1atKtq1a1fxq1/9qujDDz9sVVP+adOmtenWrdv2a665piQlJYUrr7yypEePHtumTp3atjLPeeedt37gwIHbUlJSaNasWVTdag0+87C7Pww8XMO246tJKwBO3kOZ04BpsaifiIjI/uTII4/c9sILLywHyMvLa37xxRd3v/rqqw8eMWLEpqp5MzMzyyqfN2/evKJjx447K1+3aNGiYu3atSnRHn/z5s1NrrzyyoPffvvt1ps2bUoG2LJlS5OysjKSk78dZhQWFjbt0qXL9si0Ll267Fi9evWuYx988MH1vj1Na16IiIgkiNzc3G0XXHDBuoKCghZ7U85BBx1UsXXr1l0xwsqVK2tsCLn99ts7Ll26tPn777+/+Ouvv857/fXXPwWovOvazHZrccnMzNyxatWq3cbNrF69umnnzp13BVlmVu+6K7ARERHZT+Xl5TW/9dZbO1YO1l26dGnKtGnT2h955JFb9qbcgQMHli5durTFu+++26K0tNRuuummzJrybt68Oal58+YVHTp0KF+7dm3Srbfeulve9PT0smXLlu0KZEaNGrVx+fLlzR599NG0nTt38thjj7VbunRp83POOWfjt0uPngIbERGR/VTbtm3LP/roo5aDBg3KbtGiRe7gwYOzDzvssK0PP/zwF3tTbv/+/bf/5Cc/Kfze9753aI8ePfodd9xxX9eU96abblq7bdu2Jh06dDji6KOPzj755JN3C1BuuOGGta+88kq71q1bH3HZZZcd3KlTp/Jp06Yt/f3vf98xLS3tiMmTJ3eaNm3a0oyMjLKajhGNBpugrzHSBH0iIlJVXSbok/hqLBP0iYiIiOxTCmxEREQkYSiwERERkYShwEZEREQShgIbERERSRgKbERERCRhKLARERGRhKHARkRERBKGAhsRibmZM2dy1FFHMWDAACZPnvyt7X/5y1/o1asXQ4cOZejQoTz55JO7to0ePZqsrCzGjBmz2z4rVqzgpJNOYsCAAVx++eXs2FHvNfJEEkbPnj37vPLKK60mTJiQeeaZZ3aPd30agwZf3VtEElt5eTk33ngj06dPJzMzk+HDhzNy5EgOO+yw3fL94Ac/4O677/7W/uPHj2fr1q08/vjju6VPnDiRcePGMWrUKCZMmMDTTz/N5Zdfvi9PRaRGn/WeOGBfln9IwcR5dcm3dOnShQCzZs1qtS/rU1fPPvtsm3vuuafTf//73xbNmjXz4cOHf/Xoo49+0a5du4qGqoNabEQkpubNm0f37t3JysqiadOmnH322cyYMaPO+w8bNoyDDjpotzR351//+hdnnnkmAGPGjOEf//hHTOstInvvq6++SvrlL39ZVFhY+J/FixcvKCoqanrNNdd0acg6KLARkZgqKiqic+fOu15nZmZSVFT0rXx///vfOe6447j00ktZtWpVrWWWlJTQpk0bkpOTay1T5EDTuXPnfi+++GIrgO3bt9v3vve9Hi1btsw9/PDDs997770Wkfl+9atfdTz00EMPb9GiRe65557b7YsvvkgeOnRor5YtW+YOHjz40OLi4qTK/A899FBaZmZmv7Zt2x7xi1/8olPkcYYNG9bzxz/+8a5g5fvf/36Pc845JwvgqquuKhk9evSmVq1aVaSnp5f/6Ec/Kp47d+7uv1T2MQU2ItLgRo4cyfz58/n3v//NCSecwDXXXBPvKons92bOnNl29OjRG0pKSuaPHj26ZPTo0T23b99uldtffvnldm+++eZ/Fy1atGDmzJltTznllF533nnnquLi4vkVFRX89re//Q7AvHnzmv/85z/v9qc//enzoqKi/PXr1yevXbu2aWU5Tz311PIXXnih/csvv9zqkUceSZs/f37LKVOmrKyuTu+8806rQw89dNu+P/tvKLARkZjKyMhg9erVu14XFhaSkZGxW560tDSaNWsGwMUXX8z8+fNrLTMtLY2NGzdSVlZWY5kiB7o+ffqU/vCHP9zQrFkzv/XWW9fu2LHD3nrrrZaV26+66qovDz744LLu3bvv/O53v/t1bm7ulmOPPXZramqqn3766V/l5+enAvz1r39td+KJJ2489dRTv27RooXfd999hWbmleV07dq17L777ltxxRVXdL/55psP/tOf/vR5dWNo/va3v7WeNm1a+0mTJq2uum1fUmAjIjF15JFHsmzZMlasWMGOHTuYPn06I0eO3C3PmjVrdj2fMWMGhx56aK1lmhnHHXccL730EgDPPvssp512WuwrL7Ify8zM3HWrYFJSEh07dtz5xRdfpFSmZWRk7Kx83rx584qOHTuWVb5u0aJFRWlpaRJAYWFhSufOnXeV1bp164q2bdvuygswZsyYjRUVFXTv3n37Kaec8nXVurz55pstL7/88u5PPfXUZ/37998eu7PcMwU2IhJTycnJ3H333YwePZpjjjmGs846i+zsbCZNmrRrEPGUKVMYNGgQQ4YMYcqUKTz00EO79j/ttNP44Q9/yOzZs+nTpw9vvvkmENwV9cgjjzBgwABKSkq46KKL4nJ+Io1VYWHhru6i8vJy1q5dm3LwwQfvrG2f6mRkZOxcvXr1rrI2b97c5KuvvtrtLurrr7++8yGHHLLtyy+/TPnDH/6QFrltzpw5Lc4555yeDz300PIzzzxzc33OZW/odm8RibkRI0YwYsSI3dJuvvnmXc9//etf8+tf/7rafV999dVq07Oyspg5c2bsKimSYBYuXJj6xBNPtL3gggu+uuOOOzo2bdrUTzjhhC3RlnP++edvGDp0aKfXXnvtoGHDhm356U9/munuu8bqzJgx46CpU6e2//jjjxcVFBQ0O//88w85+eSTN3fv3n3nRx991PyMM8449K677lp5wQUXbIztGdaNWmxEREQSwEknnfTV1KlT09q2bZv73HPPtX/uuec+a9asme95z90NHDhw21133bXysssu696pU6ecdu3alXXs2HEHQElJSZOxY8d2v+uuu1Z2795958iRI78eM2bMuosuuiiroqKCu+66q9OGDRuSr7/++qzU1NTc1NTU3J49e/aJ/dnWzNyjPueEkZub67NmzYp3NSTGZs6cyc0330x5eTkXX3wxN9xwQ7X5Xn75ZS677DLefPNNcnNz2bFjBz/5yU+YP38+TZo04c477+S4444DYP78+VxzzTVs27aNESNGcOedd2Jm1ZYrIvu3tLS0ee4+sPJ1fn7+8pycnHXxrFO8de7cud9DDz20/KyzzmrwrqXq5Ofnd8jJycmqbptabCShVM56O3XqVN577z1eeOEFPv3002/l27x5M3/4wx8YMOCbyUMrp/WfM2cO06dP51e/+hUVFcFA/5/97GdMnjyZuXPn8tlnn6lLZD+wp2UdKr388sukpaWRl5cHwM6dO7n66qs59thjOfroo7n//vt35X344YcZNGgQgwcPZuzYsWzb1qB3sYpIHSiwkYRS11lvJ02axPXXX0/z5s13pRUUFDB06FAA0tPTadOmDXl5eaxZs4bNmzfz3e9+FzNjzJgxNY4DkcZhbwLcl156ie3btzNnzhzeeustHn/8cVauXElhYSFTpkxh1qxZvPvuu5SXlzN9+vSGPC0RqQMFNpJQ6jLrbX5+PqtXr+bkk0/eLb1Pnz7MmDGDsrIyVqxYwfz581m9ejVFRUVkZmbWWqY0LnsT4JoZpaWllJWVsW3bNpo2bUqrVsEyPJVpZWVlbN26lU6dOjXYOYnE0+rVqz9pLN1Qe6LARg4oFRUV3HLLLfzmN7/51raLLrqIzMxMTjzxRG6++WaOOuookpKSqilFGru9CXDPOOMMUlNTyc7Opn///lxzzTW0a9eOzMxMrr32Wvr37092djatW7fmxBNPbJDzEZG6U2AjCWVPs95+/fXXLF68mNNPP52cnBzmzp3LhRdeSF5eHsnJyUyaNInZs2fzzDPPsHHjRg455BAyMjIoLCyssUzZ/9QW4M6bN4+kpCQWLVpEXl4eDz/8MMuXL+err75ixowZ5OXlsWjRIkpLS5k6dWocai9xUFFRUaG7BRqJ8FrUuFq4AhtJKHua9bZ169YsXbqU/Px88vPzGThwIM888wy5ubmUlpayZUsw5cNbb71FcnIyhx12GJ06daJVq1Z89NFHuLtmvd0P7E2A+8ILLzB8+HBSUlJIT0/nqKOOIi8vj7fffpuuXbvSoUMHUlJS+P73v8+HH34Yj9OThreguLi4jYKb+KuoqLDi4uI2wIKa8miCPkkokbPelpeXc+GFF+6a9TY3N5dTTz21xn3XrVvH6NGjMTMyMzN59NFHd2275557dt3ufdJJJ3HSSSc1xOlIPUUGuBkZGUyfPp0pU6bs2l4Z4FY6/fTTuf3228nNzWX27NnMnj2b8847jy1btjB37lzGjRvH1q1bmTt3LqWlpbRo0YLZs2dzxBFHxOP0pIGVlZWNXbNmzR/XrFnTFzUIxFsFsKCsrGxsTRk0j43msRFJSG+88cau+YwuvPBCfvrTn9YY4EYGNl9//TXXXnstBQUFuDsXXHAB1113HQB33nknL774IklJSfTv358HHnhg12KekjiqzmMj+xcFNgpsREQkggKb/Zua1ERERCRhaIyNiMTEjU+0i+vx7750Q1yPLyKNg1psREREJD0FsbwAACAASURBVGEosBHZB+q7ThHAwoULOfnkkxk0aBDHHnss27Zto7S0lPPOO4+jjz6aQYMGcdtttzXEaYiI7HfUFSUSY5XrFE2fPp3MzEyGDx/OyJEjOeyww3bLV906RWVlZVx55ZU8+uij9O3bl5KSElJSUti+fTvXXnstQ4YMYceOHZx11lm88cYbjBgxoqFPT0SkUVOLjUiM7c06RW+99RZ9+vShb9++AKSlpZGUlERqaipDhgwBoGnTpvTv33+32ZBFRCSgwEYkxvZmnaKlS5diZowaNYrjjz+eBx988Fvlb9y4kddee41hw4btmxMQEdmPqStKpIFVrlP00EMPfWtbWVkZ77//Pm+++SYtWrTgrLPOIicnZ1cQU1ZWxtixY7niiivIyspq4JqLiDR+arERibG9WacoMzOTwYMH0759e1JTUxkxYgT5+fm79r3hhhs45JBDGDduXIOek4jI/kKBjUiM7c1CnMOHD9+1cnRZWRnvvvvurkHHd9xxB5s2bWLSpEnxOjURkUZPXVGSEBrT5HB7sxBn27Ztufrqqxk+fDhmxogRIzj55JNZvXo19957L7169eL4448HYOzYsVxyySX7+tRERPYrWitKa0UlhMYU2Byo4n0NbnpkYlyPn/b+9XE9vsSO1orav6krSkRERBKGAhsRERFJGApsREREJGEosBEREZGEocBGREREEoYCGxEREUkYCmxEREQkYSiwERERkYShwEZEREQShgIbERERSRgKbERERCRhaBFMkRgoOeaBuB5f6xSJiAQavMXGzK42s8/NbJuZzTOzIXXc7zgzKzOzBVXSLzMzr+bRfN+cgYiIiDRWDRrYmNl5wAPAJCAXeBeYYWZd97BfO+BJ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r08HVgBZ4eu2wBSgE7AxzD/U3T+Mbe1FRESksWvoFhvc/WHg4Rq2HV9Nmu2hvJ8AP4lJ5URERGS/prWiREREJGEosBEREZGEocBGREREEoYCGxEREUkYCmxEREQkYSiwERERkYShwEZEREQShgIbERERSRgKbERERCRhKLARERGRhKHARkRERBKGAhsRERFJGApsREREJGEosBEREZGEocBGREREEoYCGxEREUkYCmxEREQkYSiwERERkYShwEZEREQShgIbERERSRgKbERERCRhKLARERGRhKHARkRERBKGAhsRERFJGApsREREJGEosBEREZGEocBGREREEoYCGxEREUkYCmxEREQkYSiwERERkYShwEZEREQShgIbERERSRgKbBLQzJkzOeqooxgwYACTJ0/+1vbt27dz+eWXM2DAAE466SRWrlwJwLx58xg6dChDhw5lyJAhvPLKK7v2efjhhxk0aBCDBw9m7NixbNu2rcHOR0REpK4U2CSY8vJybrzxRqZOncp7773HCy+8wKeffrpbnqeffpq2bdsyb948xo0bx8SJEwHIzs5m1qxZzJ49m+eff54JEyZQVlZGYWEhU6ZMYdasWbz77ruUl5czffr0OJydiIhI7RTYJJh58+bRvXt3srKyaNq0KWeffTYzZszYLc+rr77KmDFjADjzzDOZPXs27k5qairJyclA0KpjZrv2KSsrY9u2bZSVlbF161Y6derUcCclIiJSRwpsEkxRURGdO3fe9TozM5OioqIa8yQnJ9O6dWtKSkoAmDt3LoMGDeK4447j3nvvJTk5mczMTK699lr69+9PdnY2rVu35sQTT2y4kxIREakjBTaym4EDB/Lee+8xc+ZMJk+ezLZt2/jqq6+YMWMGeXl5LFq0iNLSUqZOnRrvqoqIiHyLApsEk5GRwerVq3e9LiwsJCMjo8Y8ZWVlbNq0ibS0tN3y9O7dm5YtW7J48WLefvttunbtSocOHUhJSeH73/8+H3744b4/GRERkSgpsEkwRx55JMuWLWPFihXs2LGD6dOnM3LkyN3ynHrqqTz77LMAvPTSSwwZMgQzY8WKFZSVlQHwxRdfsGTJErp27UqXLl2YO3cupaWluDuzZ8/m0EMPbfBzExER2ZPkeFdAYis5OZm7776b0aNHU15ezoUXXkh2djaTJk0iNzeXU089lYsuuoir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\n",
      "text/plain": [
       "<Figure size 504x360 with 1 Axes>"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "## Edge\n",
    "## ====\n",
    "\n",
    "circ_edge = QuantumCircuit(5,5)\n",
    "QAOA(circ_edge, Edge, [numpy.pi*1.0/8.0], [numpy.pi/2.0])\n",
    "# sim\n",
    "result_edge_simulator = execute(circ_edge, qasm_simulator, shots=4096).result()\n",
    "counts_edge_simulator = result_edge_simulator.get_counts(circ_edge)\n",
    "# device\n",
    "result_edge_ibmqx2 = execute(circ_edge, ibmqx2, shots=4096).result()\n",
    "counts_edge_ibmqx2 = result_edge_ibmqx2.get_counts(circ_edge)\n",
    "# results\n",
    "plot_histogram(\n",
    "    [counts_edge_simulator,counts_edge_ibmqx2], \n",
    "    legend=['Simulator','ibmqx2'],\n",
    "    title='1-round QAOA for MaxCut on Single Edge {}'.format(Edge.edges())\n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Error checking job status using websocket, retrying using HTTP.\n"
     ]
    },
    {
     "data": {
      "image/png": "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jh3Lb37zG+69994s5cuXL+e2225jyZIllCnzSydny5YtWbBgAZGRkUW3E6WEjoqSc0lERMRy51ybko5Dzkxx9tjsA9KAmtnKawJ78trQzIYArwPDM5IaXxwQDXxulnkJjzL+NqlAnHNuY8FDl9JuxowZrFy5ko8/znpA3Z49exg1ahRTpkzJktSIiMjZqdgSG+dcipktB3oD7wWs6g28n9t2ZnY18Bpwg3NuZrbVy4AW2coeBaoDtwNbCxq3nLuio6PZvXt35nJCQgLR0dG/qvfll1/y5JNP8vHHH1O+fPnM8sOHDzN06FDuu+8+2nuIF7AAACAASURBVLZtWywxi4hIwRT3CfqeAt4ws2+Br4FbgRjgBQAzex3AOTfcXx6KN/x0L7DQzGr57aQ455Kdc8fIdoVPMzsIhDrncr3yp5wfWrVqxZYtW9i+fTvR0dHMmjWLl156KUud1atXM2bMGN577z2ioqIyy1NSUhg+fDjXXHMNAwYMKO7QRUTkDBVr37pz7l3gLuB+4DugC/Bb59x2v0qs/5fhVrzkazLeYeEZf7MQOY3Q0FCeeOIJhgwZQocOHRg4cCDNmjVj4sSJzJ07F4AJEyZw7NgxbrzxRrp168awYcMA+OCDD1i8eDFvv/023bp1o1u3bqxZswaAF198kbi4OBISEujatSt33HFHie2jiIhkVWyTh89GmjwsUjw0eVjOJZo8fG7TbEgREREpNZTYiIiISKmhxEZERERKDSU2IiIiUmoosREREZFSQ4mNiIiIlBpKbERERKTUUGIjIiIipYYSGxERESk1lNiIiIhIqaHERkREREqN4r66t0iJ03WLRERKL/XYiIiISKmhxEZERERKDSU2IiIiUmoosREREZFSQ4mNiIiIlBpKbERERKTUUGIjIiIipYYSGxERESk1lNiIiIhIqaHERkREREoNJTYiIiJSaiixERERkVJDiY2IiIiUGkpsREREpNRQYiMiIiKlhhIbERERKTWU2IiIiEipocRGRERESg0lNiIiIlJqKLERkSzmz59Pu3btaN26NZMnT/7V+sWLF3PppZcSFRXFnDlzsqybMGECHTt2pH379owbNw7nHABrTyTw221T6bH1WR75aW5muYhIYVNiIyKZ0tLSGDt2LDNmzGDJkiW8//77fP/991nq1KlThylTpjBkyJAs5UuXLmXp0qUs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24IedVGQ2M/VuJ+4oeQ6IfVaCd65GjfoqKiIiIjlzrk2JR2HnJlgh6JigU9zKJ8L1DvNtvuANLxLMASqCewJMo5fMbO78HprfpufpEZERERKn2ATmx1A7xzK+wDb89rQOZcCLM9h+954R0edMTMbg9dT0985t6ggbYmIiMi5K9ijov4O/MO/mndGMtIZuB4YnY/tnwLeMLNvga+BW4EY4AUAM3sdwDk3PGMDM7vEvxkOpPvLKc659f76P+Fdw+r3wA9mVsuv/7Nz7lCQ+yciIiLnsKASG+fci2b2E3AP3tmGATYAVzvn5uRj+3fNLBK4H+8K4Wvxho4yentyOp/NymzLV+L1DtX3l28HyuKdyybQa8CI08UkIiIipUe+ExszC8UbclronJt9pnfonHse78iqnNZdmkOZnaa9+mcai4iIiJQu+Z5j45xLBWYBVYouHBEREZEzF+zk4VVA46IIRERERKSggk1sHgKeNLOBZlbXzCIC/4ogPhEREZF8C/aoqE/8/7OAwDP7mb982gthioiIiBSVYBOby4okChEREZFCkK/ExszCgL/hXTW7LDAfuMM5t68IYxMREREJSn7n2DyMd06YT4C38c4WPLWIYhIRERE5I/kdihoE/ME59w6Amb0FfG1mIc65tLw3FRERESke+e2xqQv8J2PBv8hkKt7lEERERETOCvlNbEKAlGxlqQQ/+VhERESkyOQ3MTHgTTM7GVBWAZhmZsczCpxzVxVmcCIiIiLByG9i81oOZW8WZiAiIiIiBZWvxMY5d2NRByIiIiJSUMFeUkFERETkrKXERkREREoNJTYiIiJSaiixERERkVJDiY2IiIiUGkpsREREpNRQYiMiIiKlhhIbERERKTWU2IiIiEipocRGRERESg0lNiIiIlJqKLERERGRUkOJjYiIiJQaSmxERESk1FBiIyIiIqWGEhuRs9DODZ/y3sSmzHisMavmP/6r9SdPnuSmm26idevW9OrVix07dmSuW7duHX369KFjx4507tyZEydOADBr1iy6dOlCx44deeihh4prV0REipUSG5GzTHp6Govfv53Lb5nL4D+v58eVb3Ngz/osdd58802qVavG8uXLGTVqVGaikpqaysiRI3nqqadYsmQJH330EWXLliU5OZkJEybwwQcfsGTJEn766Se++uqrEtg7EZGipcRG5CyTtONb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\n",
      "text/plain": [
       "<Figure size 504x360 with 1 Axes>"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "## Triangle\n",
    "## ========\n",
    "\n",
    "circ_triangle = QuantumCircuit(5,5)\n",
    "QAOA(circ_triangle, Triangle, [numpy.pi*2.0/5.0], [numpy.pi*4.0/5.0])\n",
    "# sim\n",
    "result_triangle_simulator = execute(circ_triangle, qasm_simulator, shots=4096).result()\n",
    "counts_triangle_simulator = result_triangle_simulator.get_counts(circ_triangle)\n",
    "# device\n",
    "result_triangle_ibmqx2 = execute(circ_triangle, ibmqx2, shots=4096).result()\n",
    "counts_triangle_ibmqx2 = result_triangle_ibmqx2.get_counts(circ_triangle)\n",
    "# results\n",
    "plot_histogram(\n",
    "    [counts_triangle_simulator,counts_triangle_ibmqx2], \n",
    "    legend=['Simulator','ibmqx2'],\n",
    "    title='1-round QAOA for MaxCut on Triangle {}'.format(Triangle.edges())\n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Error checking job status using websocket, retrying using HTTP.\n"
     ]
    },
    {
     "data": {
      "image/png": "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33bbbc5gZcSIEW2vvvrqcIA777wzPS4u7pi/v39+cHBw3q233pq2du3ahlV2QNDARnkpKSmJFStWMG/ePGbMmMHOnTtJTU1lyZIl3H777We6ekopVWMtX748IC4u7kh6evr6uLi49Li4uPbZ2dniWP/ZZ58Ffvvtt79v3rx54/LlywMuu+yyDk899dTetLS09fn5+Tz99NPnASQkJPg98MADrd96662dqampSYcPH6594MABX0c577333q7Fixc3+eyzz/znzp0btH79+gZvvPHGbnd1+u677/w7dux4qvL3/k/ax6aGCQkJYd++fc7llJQUQkJCPN4+NDQUgPDwcC655BJ+/fVX6tWrx86dO4mJsS45Z2VlERMTQ0KCR5eIlVJKVYDIyMisW2655QjAzJkzD8ydO7fZypUrGwwdOvQ4wJ133nmwVatWuQAXXXTR8aZNm57u06fPSYArrrji6MqVK/0BFixYEDhgwICMYcOGHQd4/vnnU955553zHK8TFhaW+/zzzyfffvvtbbKzs+XDDz/c7q4PzSeffNJo0aJFTX744Yctlb/3f9IWmxomOjqaHTt2kJycTE5ODvHx8QwdOtSjbY8ePUp2djYAhw8f5n//+x+dOnViyJAh/PbbbyQlJZGUlET9+vU1qFFKqSoWGhqa43ju4+NDs2bNTu/Zs6eOIy0kJOS047mfn19+s2bNch3L9erVy8/KyvIBSElJqdOiRQtnWY0aNcoPCAhw5gUYO3ZsRn5+Pm3atMm+7LLLjheuy7fffttg/Pjxbd57773tF1xwQXbF7WXpNLCpYWrXrs2zzz5LXFwcvXr1YuTIkURERPDkk086OxEnJiYSGRnJkiVLmDp1Kr179wZg69atDBgwgL59+3LllVcyZcqUAndTKaWUOnNSUlKcl4vy8vI4cOBAnVatWp0uaRt3QkJCTu/bt89ZVmZmZq2jR48WuMIzZcqUFu3atTt18ODBOq+//nqQ67off/yx3tVXX91+zpw5u6666qrMsuxLeeilqBpo8ODBDB48uEDajBkznM+jo6PZtGlTke169uzJjz/+WGr5e/bsKX8llVJKeWXTpk3133nnnYBx48YdfeKJJ5r5+vqaSy+99IS35Vx77bVHYmNjm3/99dcN+/Xrd+K+++4LNcY4++osXbq04cKFC5skJiZu3rp1a91rr7223ZAh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kpmZSc+ePSv5Pg2p4sirpqysrMrvk7/aCSaO6a1GcPXWFynu/So5OTmceOKJTJ06lfT0dM4880zOO+883n33XTIzM2nUqBGPPvoohw8fZt68ecybN4/ExERSUlK48cYbKSoqoqioiM6dO/Puu+9y5ZVXsnr1ajp16kRJSQlbt24FoHXr1jRv3tyJ8FRu87fffsvevXsB6Ny5M4cOHXK/T6mpqTRu3Jivv/4agEaNGtGlSxc++eQTrLVObtU5lWofbwqSzU8NPOZ3r6ysjNtvv53Zs2djjOGGG26gX79+dO/e3f19+u9//0uTJk3cn59bb72VvLw84uLieOSRR4iPj6dFixacc845tG7dmri4OObOnUvDhg3ZsGEDt9xyC5mZmQwbNqzWf/e6devG559/zpEjRwDo1auX+/sEuN8nJboxrjbaQX8hY9KAbcAga22Bx/p7gMustSf5eM43wIvW2ns91mUDy4A0oDHwPjDAWvu1s/09YK219sbj2dS7d2/77rvv1ui4opUpz1d9Ib9jdm6l244351Ig2qt/+Y6/7F7G61tXAfDYY48BcOutt7r3ufDCC5k6dSr9+vWjtLSUk08+mfXr17uTY10/1OO/e56prYby1v4veW3/ZyQQR7Et5WBSOSNHjuTpp5+uFZtdBON8ALx3YD331//QXYUyadIkZs6cSe/evRk+fDiHDx9mwoQJfP755+7KloyMDF555RVmzZpFYmIicXFx3H777Zx33nkA/Otf/+KOO+4gPT2djIwMunfvTv369f06zwBrsnK5aMvf+aDTbe7omIubTvyI3/72twwePNjv81HVeYaaneuaageLqmz+85U1G1mv7fPx0Ucf8eCDD5KXlwcE9j0FKCoq4le/+hVffPFFhYTrQ4cOMWLECB5++GH69KnZDVJNaN68eaG1NnwGKDUilBGbXUAZ0NprfWvg+0qe830l+5c6esOQyM0XHl+aeCDbqZ5qYK0trrnpSrDxjFCkpqaSn5/PM888U2Ef15BAv379jhkScA1RbTvyMxtLdtE2sSm3tzqX21tJMHDloc38s/sOn05NpHJ2wy6MXVmxwG/atGnu/+vVk8oWby655BIuueQSn5opKSmMHj2av/zlLwC88sorFBYWVtinsiG/Fi1a8PHHH3PTTTfx3eaNPNzmgmOcmq1Hfuazzz4jKyvL7+NVIh9fUysE8vnZunUrs2fPdjs1ZWVlDB48mE2bNnHttdeG1alRop+Q5dhYa0uAQmCo16ahSNWTL1ZUsv/H1tojwGvAKcCpHsvHwDznf40pRgmuIYGLLrqI/v37M2bMGLp168bMmTPdScTjx49nz549ZGVlMXv2bKZPnw7AypUrGThwIOcXzWHi9leY0fo8msenVPVySoC4kpLz21/HnD3vU1xe6t52sLyEG7bPZ+bMmTRu3LgKFaWuUlkVWXx8PAUFBaxdu5bVq1e7h48UJRBC3aDvUeAFY8xHwAdI1VMaMAfAGPNPAGvtFc7+c4AbjTGzgKeBs4CrgEud/X4GfvZ8AWPMQWCPtXZtsA9GqV1qGqGoKmegf0oGI+Y9Vmu2RivVaY3v2qdt27aVJiV3Tm5FSlwS35T8yCn10jhiy7hh+3xGNT6F888/PyTHooSe2vr8eCa19+7d272+SZMmDBgwgHfeeYfu3bsH92CUmCWkjo219hVjTAvgj0AqsBYYYa0tcnZp77X/JmPMCOAxpCR8O3CztTYvhGYrSsSxZMkSdzLx5Zdfzi233FJhe3FxMRMnTmTNmjU0a9aMuXPn0r59e/bt28cHH3xAv379SElJYe/evbz88suANJN79NFH2b17N5MnT6agoMDnkF9CQkKFIT9rLXd+/zqdk1pybbMzwnE6gs7x8qRqmgsTLXhOrRDokHFCQkKFKrJdu3aRmJhIkyZN+OWXX3jvvff4wx/Ck++kxAYhn1LBWvsU8FQl2872sW4ZUO0mJL40FCWWKCsrY8qUKeTn5/PEOz148rG+fFF8Cc3aHL3D/fL9p+jqY7qFE044gccff5yHH36YXbt2sW/fPrp168bdd9/NvHnzWLFiBQ0bNnRXuqSlpbnb7a9cudKdlFy+fZd7yO/jX7bw2v7POCnpBM4vmkN8dh533303Q4d6jyIr0U5lUyt4JrWPHz+eCRMmHDNdg+fnJy4ujoceeogWLVrwxRdfcP3111NWVkZ5eTljxoxh2LBhYT5SJZrRuaIUJcooLCykY8eOZGRkEJ+QRKfe4yhau6CCY1O0dgH3PH4bUHF+o549e9KzZ08uueQSrLWceOKJFBcXc8EFF/D555/TsqV0aL7rrrtYtWoVDz/8sFvTMynZc9ivT/32bOg63f24eYHebccyQ4cOPcZprUlSe48ePVi2bFmt26nUXdSxUaKKKstXQ2hHOPGuTGnQpB07t3xYYZ9De7dVWpni4vXXX6dXr14kJyfTqVMn1q9fz5YtW0hLS2PhwoXuXh+KoijRRMgnwVQUJfysW7eOGTNm8OijjwLQtGlTHnnkEa655hpGjBhB+/btiY+PD7OVsc+SJUt4deZJzP9TZ9YseeCY7ZV18V26dCmDBw/mrLPOYvDgwRQUuFuDUVJSwi233ELfvn159f6T2bRGUxKVuoVGbBQlyvCuTDm4dyspTdpW2CelSdtKK1O2bdvGFVdcwVNPPUXHjh3dz8nJyXFPJ/Dcc8+pYxNkXLlSw373Dg2atmPBY31pnzmqwpCi58SvnrlSLVq04OWXXyY1NZUvv/ySiy++2OlyDY888gitWrVi1apV3P6PJhQf2hPyY6uqQjFcjRCVuoM6NooSZXhWppSVNmDjJ/MYPP7lCvt0yBzlszJl7969jBs3jnvuuYf+/ftXeM7OnTtp1aoVP//8M/c9/DxDrpxf6dBfXRn2CyauXKnGLTsB+MyVWrRoEVOnTgWOzZVy0a1bN3755ReKi4tJTk7mpZde4sMPZWjSxMVRr2F0zWyvKDVFh6IilEAnmqsqRO3iN7/5DXkPZgb9GJTg4FmZ8u8HutHx1F/TLLUHhYvvoWjt6wB0Pf1an80Mn332WTZt2sRDDz3knpDQNU/ZnXfeSf/+/cnJyaHXkDtockLXsB1jXcBXrtShvdsq3cd74lcXnrlSrnmlZs6cydlnn807z13Mof3e0/MpSmyjEZsIxLOcNy0tjSFDhpCTk8PJJ5/s3ieQEDXAG2+8QYMGDcJxWEot4qpM8YyoZA13T6lGQqLvypTJkyczefJkn5quslw4ft8WJTJw5Uq55m4qLS1l+/bt9OvXjz/96U8Mv/offLRgMmePfyHMlipK6NCITQTiWc6blJTE2LFj3dMKuFi0aBHjxo0DJERdUFDgDlG7OoF6hqgBDhw4wFNPPcWkSZNCe0CKohxDdXKlPPepTq5U8+bNSUlJcXd/7tjrYnZtXR2Kw1GUiEEdmwjE10RzO3bsqHSf6oSoQcLTN9xwAykpOo+SooQbV67U/t2bKCstYeMn8+jQY1SFfVxdfIFq5UoZYxg2bBjvv/8+ANvXv1MhZ0dR6gI6FBWjeIeoP//8czZv3szMmTPd+ThKbFNVZQpodUq4ceVKXXfjMGx5GV1Pv8adK9UyvQ8dMkdV2sXXM1fqoYceAiAvL49WrVqRm5vLhAkTmDZtGj8faUP2pf8I52H6RaBThSxdupR7772XkpISkpKSmDFjBtnZ2QDcd999zJs3j7179/Ldd9+F47CUEKOOTQRS04nmfIWoV61axaeffkqvXr0oLS1l785dvPnk2Yy88b2QHZeiKBUZOnQov5726wrrPHOlKuviW1WuVHp6OgsXLgSiK1cqWLmFw4YN47e//S19+/YN16EpIUaHoiIQz3LekpIS8vPz3f1FXPgbor7mmmv48ssvWbNmDYsXL6ZJq67q1CiKEjEEK7ewb9++tGnTJrQHo4QVdWwiEM9y3v79+zNmzBj3RHOuL/r48eP9LudVFMV/jtcduKzU/9YLn376KWeddRZZWVksz78Za23IjidSCVZuoVL30KGoCCXQieaqClG7aN++PRdOXVsrdipKLFOd7sBfr/y7z5nUqxoemTx5MrNmzaJPnz70Ousytn71Fundhh/z+pon5R/euYVK3UQjNoqiKJXg2R3YcyZ1T4rWLvBreOT7779n//799O3bF2MMXfpeQdHnr4X82CINf3ILoXrl70rdRB0bRVGUSqhOd+DKZlL3xHN4ZMeOHaSlpVXQPOilWRcJRm6hUjdRx6aGBDr1wZ49exg1ahTp6elMmTLFvf/+/fvduTHZ2dl07tyZO++80+dr7+n/eJWLoijhx3smdcU3wcotnD59Oj169ODQoUP06NGDBx44Nk9KiS00x6YG1KQ8MTk5mWnTprFu3TrWrVvn3r9Ro0YVkgwHDx7s7iKqKEpocQ19nJglj2tjJvXU1FS2b9/ufv7BvVtp4KVZVwlGbuGMGTOYMWNGrdqpRDYasakBNSlPbNCgAf37968yc3/Dhg3s3LmTM844I6jHoSiKb6rTHdg1kzpUb3ikTZs2NGrUiFWrVmGtZf2qf9Ihc3RIj0tRYhmN2NQAX+WJhYWFle7jOf7eokWL4+rn5+dzwQUXYIypXcMVRakW1ekO3PX0a9nz/tt+dQd+6KGHuOGGGzh8+DCN251HOx8VUYqiBIY6NhFMfn4+c+bMCbcZilKnOV534EBmUu/duzfLly8Hoqs7cLjR8nelOuhQVA2oaXliVaxdu5aysjJOPfXU2jVaURRFUWIYjdjUAM/yxNTUVPLz83nmmWcq7OMqT+zXr1+F8ffjkZeXx9ixY4NluqIotUhVkQSNIihKaFHHpgZ4lieWlZVx2WWXucsTe/fuzfDhwyudnRegV69e7N+/nyNHjrBw4ULy8vLcFVWvvfYar7zySrgOTVEURVGiEnVsakig5YkAa9asqVT3k08+qRX7FEVRFKUuoTk2iqIoiqLEDBqxCQE6/q4oiqIooUEjNoqiKIqixAzq2CiKoiiKEjOoY6MoiqIoSsygjo2iKIqiKDGDOjaKoiiKosQM6tgoiqIoIWHZwQ3069ePrKwsZs2adcz24uJirrnmGrKysjj33HPZsmWLe9tjjz3GOZv+wtBNT1JwcAMAG0t2cX7RHPfSvn17Zs+eHbLjUSITLfdWFEVRgk6ZLSf3x0Us+PAd0tLSGDJkCDk5Oe5u6wAvvvgiTZs2pbCwkLy8PHJzc5k7dy5fffUV+fn5LO5wPT+W7eeKrS+wJONGOiW15I0OE9z6A/c+zciRI8N1iEqEoBEbRVEUJeisObyNDonNycjIICkpibFjx7J48eIK+yxatIhx48YBMHr0aAoKCrDWsnjxYsaOHUtyXALpic3okNicNYe3VXju8kObyMjIID09PWTHpEQEi47mAAAgAElEQVQm6tgchyVLltQodJqVlVUhdAowaOMsRmyezflFczjnnHNCchyKoijh5IfS/aQmNHY/TktLY8eOHRX22bFjB23btgVkLr7GjRuzZ8+eCusB2iQ04ofS/RWeu3D/Wi688MIgHoESLahjUwVlZWVMmTKF+fPns2LFCvLy8vjqq68q7OMZOp04cSK5ubkA7tDp8uXLmdvuMqb/uIgyW370eelX8kaHCbz77ruhPCRFUZSYo8SW8c6Brxk9enS4TVEiAHVsqqCwsJCOHTvWLHSanFxp6FRRFKWu0DqhETtK97kfb9++ndTU1Ar7pKamsm2b/E6Wlpayb98+mjdvXmE9wPel+2md0Mj9eNnB9XSvl8oJJ5wQ5KNQogF1bKrAO/xZW6FTg+GqrS8wuuiZSmf+VhRFiSV61mtL0ZHdFBUVUVJSQn5+Pjk5ORX2GT58OPPmzQNgwYIFDBw4EGMMOTk55OfnU1xeyndHfqLoyG561Tv6+/rm/rWc3ygzpMejRC5aFRUG5qVfTZvExuwuPcg1f/87Xbt25cwzzwy3WYqiKEEjwcQxvdUILrroIsrKyrjsssvo1q0bM2fOpHfv3gwfPpzx48czYcIEsrKyaNasGX/7298A6NatG2PGjCHnz0+RQBy5J4wg3sh9+aHyEj44uJH7TtBqKEVQx6YKvMOfVYVO27ZtW+3QaZtESaBbW7yD7T9t54orruDGG2/klltuqaBdXFzMxIkTWbNmDc2aNWPu3Lm0b98ekMTk5zc9STxx3H1CDtkNOgNwx/cLePfgN7SIb8CH6MzhiqJEDmc37MLYlU9WWDdt2jT3//Xq1as0ij1p0iSufvXYS1ZKXBIfd55Sq3Yq0Y0ORVXBaaedxsaNG2sWOi0urhA6PVRewoHyYspsOdN/WEi7du148sknA0pMXtzh+mMSk8c2PpW5bccH/+QoiqIoSgSiEZsqSEhI4M9//nONQqdnnHEGZtt+d+h015GDXL/9FX4pL2F32UGuHDWKnJwc1q1bx+LFiys0q1q0aBFTp04FJDF56tSpFROTX4kjPe5oYvJp9dPpl9KBrUd+Dsv5UhSl7rFkyRKmTZtGWVkZl19++TGRZ3+Z8nyzSrfdUSNlpa6gjs1xGDp0KEOHDq2wzp/Q6aRJk9jT/3H3uvZJzXgzYwKL939JwcENTJo0CZDE5MLCwgrPryoxuU+fPoAkMvvq6aAoihJsXC0x8vPzK3QT1tokJZzoUJSiKIoSENVpiaEooUYjNrVAVaFT8B0+9aenQ+WJyeKXevd0UBRFCQW+WmJI5Llt5U9SlCCjEZswEcyeDoqiKIpSVwm5Y2OMud4Ys8kYc9gYU2iMGXic/Qc5+x02xmw0xkyoqWYk4NnToX///owZM8admOwK5Y4fP549e/aQlZXF7NmzmT59OuDR06HoKa7Z+lKFng637Mjj4i1/Z1PJbnr06MELL7wQtmNUFCW2qU5LDEUJNSEdijLGXAI8DlwPvO/8XWyM6W6t3eJj/47AImAuMB4YADxljNlprc0LRDOSCEZPh1mpRyeBa75S+9goihI8PFtipKamkp+fzzPPPAOvvB1u05Q6TKgjNrcBz1lrn7XWrrPW3oSU9kysZP8JwHZr7U3O/s8CzwOTa6CpKIqi1AKeLTE8I8+KEk5CFrExxiQBWcDDXpveBiqbT+AMZ7sn/wdcaYxJBEwAmlGF9nRQFCWS8dUSQ1HCibHWhuaFjEkDtgGDrLUFHuvvAS6z1p7k4znfAC9aa+/1WJcNLAPSEMfGX83fAb9zHp4EfF0Lh3c8WgK7okg3WrWj0eZgaqvN0a8djTYHUzuYNnvSwVrbKgSvowSBOlfuba19BngmlK9pjPnYWtsnWnSjVTsabQ6mttoc/drRaHMwtYNpsxI7hNKx2QWUAa291rcGvq/kOd9Xsn+po2cC0FQURVEUJUYJWfKwtbYEKAS8B2OHAssredqKSvb/2Fp7JEBNRVEURVFilFAPRT0KvGCM+Qj4AKl6SgPmABhj/glgrb3C2X8OcKMxZhbwNHAWcBVwaXU1I4RgDX0Fc0gtGrWj0eZgaqvN0a8djTYHUzukaQRKdBKy5GH3CxpzPTAFSAXWAre6En+NMe8BWGvP9th/EPAY0APYDjxorZ1TXU1FURRFUeoOIXdsFEVRFEVRgoXOFaUoiqIoSsygjo2iKIqiKDGDOjaKUgcwxphw26AoihIK1LEJIZ4XF2NMXDAuNsHSDYG22hxEbavJdCElGh3JaPo8uzSj8TwrwUeTh0OIMSYeadW90Wu9CfTC48yZ1RJoY639pLZ0Q6BdH+gGNAb+Z60t89gWZ60trys2B1PbGNMUGIQ0s/wE2GWtPVgbNlfyevFAeW07UjV978KlHSyi0WZFCRXq2IQAY8wpyIzkfYG9SOfkD5F5sD6tge5ZwDTgZKAEaAQUAE9aa2vUoDDI2uc52m2BZKA5Mv/XbGvtf+qSzcHUNsaMRz53zYAU5+8a4AXgWZeDUxOMMY2BExFnZo3HegOBR4qMMe2AU4GfrLUf1JZuMLWNMXFIW4oBwFbgM2CntfaQa3sNHNRotDko2saYZKSn2TlAEbAe2Axst9aWqNOnqGMTAowx64F1SCflBGTKhz5AU2S28j9Za38MQHcL8F9H9xegPXA+cuf/PjDVWvtlgDYHU3sH8E+kO/ROoBNwITAc+ZG6yVr7Xl2wOZjaxphdwCOIk7QFyAAuAy5BHL9bgFcgsAujMeb3QC7wE+I4xQMLgCestQFPLmuMuRu4FdiBvIcAi4DHrLUrA9UNgfYTyPnd5mjXQ97Tp6218+qSzcHUNsa8DJyLODMZyI3Al8DLwF+ttftrYrcSA1hrdQniAvwG+BZo7LGuEeLY/NHZ9gyQ5KfuOGATUN9jXSLQDvkxeR/IBxoFYHMwtS92tBO81icDZwJ5yIW4VazbHOTzMQb54Y/3sa0d8CTwOTI0Gsjn+lLH7juAkc5x/Am5K/8eaarZMADdy5zvxDVIhLMv8HvnHJQC/wHSA7Q5mNqXAxuA0UAH5OYlB3gVOAx8DJxaF2wO8vm4wtEdCDRw1vUA/opEw7cA5wZisy6xs4TdgFhfnB/+hTjRMR/bRwM/AP381HX9uKVUsv1spFPz8ABsDqb2OGR+r5aVbO8NbASujHWbg3w+RgBfAF081sXhODrI8NFnwBR/bXaevxTpAu65LhnoCtzuXHymBaD7NvCwj/WNkSjWamBWgDYHU/sNz+d6ft+B05zz9XJdsDnI52M+8JTH43iP/5sB/3bO2TEOvS51Z9GqqODzHjIWPMUY08jH9teBb5DQqj8sA7KAh4wx6d7VAVaGLj5HxqL9JZjaBUA68A9jzCnOOLyn9ifIBfeUOmBzMLXfB5KAl40xg4wx8dbacuskJVtrv0WGR9tXJeILJ0H4B+/11tpia+031tqHgOeBC40xbf3QjUOiQC19aO+z1uYh0c2hxphuftocTG2DDIV09dC0xph457yvBp4A+hhjzoxlm4OtjThyWU6RANbaMmNMkjEm2Vr7E/AXZHjKe2JkpS4Rbs+qLizAXciwwGzgdORuK9nZ1gH4GTgzAN1Lkbvy+UjexElAC2dbTyQ067duCLQHIMnTbwFTgSFAhrNtcISej6DY7KH9EZJvVZvnozNy97oCmRT2SiDT2XYJkhsTqM2/R4ZCrsVHtAlxmH4EuvupeyFQDtwLdPKxvQWSh9QzAJuDqT3Y0f4HPoZYgAbALqB3rNsc5PNxKrDP+R4O9LE9GdgD9Ankc61LbCyaPBxEXFn/zt3F74DbkB/8tchM5OnIXc231tqRgegDFwCTgP5I5Gct0BEJy35orb20coUqbU4AxgJ/AM5Aklg/r4m2o++KpAxCzslZiMOxFxkeOQIsttZOiGWbveyOA7KB3zp/XdqdakG7J+LwDUSSNxsid7TfA69Ya6f6o+uhnwA8gOTXLONo5HGHY/ONwCRrbVoA2jcjDtM3SETrM8RhLUYmu73KWpseoN03I+f5G8fu2tQe62gcQkrrP0aSZUuBO4HzrLUd64LNHtp3AAeRSEttnY/TkXyu1sh3/APEgU9CEuJPt9Z2rVxBiXXUsQkyxph61trDHo+zkbvlPsBXyJ16nrX2ez8045DorvVYl4EkGvZAcjK+BN6wAVQIGGOaWGv3ejxujyQDnoLkTgSk7avHiTEmDTgPudh+59j+rrW2NNZtdrRaW2t/8Hh8gqPdOVDtSmxuiSQjtwJ2I6WxH/lrr6PlcpqaIMmcNzr2foo4TKcjEco51tq/BaBfDxiFODfdkGGvJOf/j5Aci5f91DTWWmuMSUHyj64FMpGoUiLSIiAgbZc+UhU2EMmb6oXkNLUHTgDeQSp2Xotlm730E5DPwm+QpOc4JHE9YG2Pz14m4lT3Q24QuyPRmteRNgn/DcRmJTZQxyZIGGPaABchiXKuH+RXrEc/FW+nJ4DXiEPKx8usR0O3Guh1Ru7uByNRjlXID8V/bC02dXMuvPFAaS1oRZ3Njt6piFMwAkhF7pbfBl6zAZak+3iNWrXZQzcRqXj6yWNdT+DXSAuDr5DIwhf+vG4lDllXZGiuPtKz5GNrbVEANjdGqmh2eKzrhORiNEQcsUC1fdndHvnuxyFDLl9Ya3fHus2OThpS+bkfOGit3WuMaYU4N/Uc7bXW2j1+6iZ4O/iOriuyWYJEv3/x12YltlDHJkgYYxYid7HrkGqcszgaTXkI+Ie1ttTfi64x5gYkDP2h5xfYI5nuSA1sXob8IL2P3Hmfg+R//Iwk+z0YiM2O9p+QcPTbnlGTmtodjTY7GoXID/8bSETiPGcBSby9w1p7MIDPxz+AlcB8L8cjSUy2R1yRgADtzgGuRu7ukxEHJs9a+0YgepW8RgJycT3ibWcgthtjfoPYfBpgEOf3DcT53VY7Vteu3dFos/Oc65HIUg9kyOlT5Lv5prX2/dq02VpbUht6SgxiIyDRJ9YW5OK6E2jnPK4HNEGGAp5FnJvbAtAdgCTkFQAvAjcDvbz2SQbuAVL91B7s2NzMa30aMB1psvUUAZRRetj9CfA/4GFgkNc+9ZGKhvaxbLPzvLMdu+v52HYtEplYjJ89dzxs/gbp5/EqMNqHzXPxM6nXQ/9rJLJ0PXA3klBdhjjwl/qr6eie4rxP53JsP58k73V+amcjkY1/Ig0Pr3TObTFyw3FzDbT7AG8ikdnE2rI7Gm32+FxvAx5EotTDkd+7b5CbjgcC0UduCtcgeUZJvmxGnL+WVNJWQ5e6tYTdgFhckG6s71ayrTFSJXUAOM1P3ceQ5Lt7nR+nVUg/iKeRYY0MZEy7HD+boyGt91fiNLhDhjDiPLaPRxJazwngfPzZsXMC0hjuPeRO7v+QJMJMZKy8HD8u5tFos6M9wdFq7TxO9vzBRpKUfwAu8FP3Pse+0c65eRO5QH6DNDDrjwwH+G2zo/9vZCoG7/UnI2XH24ArAtB9HukUvQpY4nx/TvPa5wznc+7XhQupkHvGx/oU53V2A3f7a7OH3SXO+f0W+BvHOr9nAvPww7mORpud572MdBX2Xp/ofOZ/BP4eoM1lSGJ6KVIRNdJrn7Oc9QE7ZrrEzpKAEgyWADcYY3KstW95brDW7jPGPIhcvAYhQx3VpSUypn6PM7RwDjLe3hsJWf8auci8Y6094KfNi5BS47HAS9bJ2XGFo621LxpjLnZsftdP7ZbARmvtHCcv6DTkQtUXSRK9AMmPecv6l9wbjTaDOBx3Icnej1prix27XXkPy5whtoFIZ9nq0gD58V9oZfgtD3HAzkCiLfOQ+agWB2AzSOv6da4HzpBAubX2K6dyJxG4xRjzlvVvipBTEKd9KxJRGAqMNjJFxtvIEMwVSHmvv0NoSchF0WVzsmPzISDXeW/HGWNesNZu9lO7K1Kd8zHi5GYDLxpjfkLyvF5A3uNM618OXDTaDOIwNXflDjpJ4KVWhmznGGOOALcbY3pYa7/wQzcD6dL+pmPzxcCrjt6rSNR0HJBmA0jgV2KQcHtWsbgg4f5/ItU4dyCN4xp4bG+K/IiP9VM3Ex+dc5Eqg0uB55C78REB2ByPzCu0G7n7HoHTA8bZ3gap0rkoAO02wNk+1jdBhpPuDcRuD5v3RJHNrry2qUjUbgnSLj/NY59Ojt0X+6ndEOhfyeexOxLKD+jz4ejcjAwpdK3kmNKdz3y1I5FAFyRP5xrncSPEoZuKRC4+Qi7C5XgNq1VT/zLnM32m13pXB+bmSBO8M/zUzUAutBOdx/WQvkm/Bh5Hok/fOXaPinWbHb1hSGLwr73WJzh/GyBDpIP80ExDokq/d50DpHVDX+S3dRUyRFcOnB/I51qX2Fs0eThIGGPSkSGLc5FGaKuQi0IZcgd9krX2pAB0E6yTDIsk/ZVbJ7nUGHM+MmN4kwBtTgZuQiIS9RHnaw8ynHM6MuRzWiDaXq9ToVzdsftf1tqGAWilABORCEp95IezRjZ7J016nOuy2rDZQ/cC5CLWCflc7EUiLr2BPdba7EC1HX3v4xiFJBXXC1CvFTLc0AmJ/vwf8Il1oj9G+pY8b6311WG7Kt3OyBDiN17rWyORst8jTmZTP3UNcjF9FpmnaDEy99Y71tqfnff1EmTYxy+bPexrYK3d6LW+EXKOrgcu8cduL5uHI1HJiLbZw+5kYCbyG/IxMoT0qrV2t5F2A6OQaRYa+6ndApkq5Tuv9QmIk3MTknfkl81K7KKOTZBxymDHI+PWri/icmQI4vNaeg2DJM/9G5ls09/pGbz1TkZ6RJyK2JuKRBZmW2s31dBc79eKQxJHm1trf10DHddM3v2RYaTWBMFmj3NdY5sdvXSOVsy1c5a3gBdsADO+V/E6BpiB5PX8vgY6nZGL3yAk32Er0tytATIM+qa1dkoN9OOR36VSj3WvIWXDlwWo2Qi4Cqk6a43c3e9F7v5bA/OstbmB2uzxOt6O5GtAsbX2kgC0GiBVUaORiGxpbdtcxbkOyGYPjZFI75reSN+kHxD7k4G/WWsfrondPl7vNeSm48La1FWiF3VsahEn4tETyfnYj3QI/dg6zfeMMSchyZwl1o8T76F7AfLj9gUS8v/OepQEO3cwTWxgvSdcibdHvNa3stbu9FfPh7a1lZQtO9sbWWt/rqZeQyQ34FKkrPtrZCLJj62UMwdss5f2HqSz6TfA57ZiPxG/bPZ6jQQAe2xPjmTr5NsEaLsr56Wy8xyH3K0Hkl/jrdUdcSS7I0Mj9ZE8maVWckFqjGNvM2Q46gpr7Qc11DsJiZZ2RBzIekhieKGt5dJhY0xTZDb5qdbaVQE8P9laW2ykH1Y24vimI85BjWw2xjTy/gw457pxDW12O3bGmFTks9EeOd/1kGq89bYWem55vGZDpK3D49baT2tLV4lu1LGpRYwxf0Gcmh3Ij30GMvy0AOmn4ncjrUp0OyBln68hod2NVTz9eNpZ1tpCr3XunieB6lahfUxjsAB0n0d+7Ncj56MdMn/Mp0g302W1rP2To/2MtXZpDbQHWK9eHt7n2vhoQhagbgUnx9SgSaETVboGSdzchDjWy621a5z3s771P1ndU7cvUqHztaP9mbX2J9eF0hjT0B99rwvsMU5kDc+Ft3ZVjmSKP06ekYksb+PojO6bkOkCCgJxoKvQ3oAM2X4K/M9ziMcYU9/WoMGdd9QqFNT0hkCJQWwEJPrEwoLcnewDfsXRiRdbIQlum5By1t/jf7lqdXR/hwyP+KvdBQnLrwUexWtCOkczCbmgJQVBO9Ffbed87EeGnFzJlE2A6zjaUyUXCdkHcq6Ppz0dr7Lyamqf7JyP/Uh+ylle2+OQu/HzccrAa0nX9R76pevx/I5I5d46JGdiNVLW/QVSfp0R4PfFl+5WJMr5FHCi93H4od2KY0uYXefXlchqCKy/kS9tg9NLxWOd6/NTLbuROce+RnpU3Y9Uw61E+rfkAecGcp6r0F7hnPP5wK9qcK5bI1OXNPdxvl03zvE4k/7WVNfHfvX8tVmX2F/CbkCsLMA05M7K9di70dhMpNV8WiToOs+9B4lMuPrjbHN+TKcA6c4+bZ0LZ7tI0EYmuXvf47F3w64JSGVHV3/sDYH2NKTZ351Iw79SJJr3MM5FHMmlKHedn3DqeujPQcqt23isa49ULRUhVTCBVCsdT3dnILqOzl+d4/3e+b+71/Z457Uuxv9eLcfTjvPQrnZPFWC2cz4aeaxrjeQGFSB5TNcGeD6Op32wBtpPOOdjD1J6PQIvJ8Y5H5O914dDV5e6sYTdgFhZkPyX9UBnj3UJHL2jcN2h+tU1NFi6znNfQso82yBj+FcipZWfIXfPbyDloV9EijZSav0dMMTrfLia9LVAWrhPD8DmYGr/FcmNaO4s2YhTus75Af8M6bXj7/kIiq6H/v+Ayc7/iRzrWP8LqTZy36GHU9d57kdI1Gc6EvEoR4ZfpuFEAJCuyRsDOB9B0Uaqn2Y4/8fj5XAhbQ1WItVB/tocTO0VSBToaiRZ39Ud+Qmcsn/g/wEbIkFXl7qxhN2AWFmci946JHrya3zcRTg/hL+PEN0EpHLhTq/1zZEEyxuRMHU5ft7NBVm7HvBfJN9oAo7T4bXPp8ANAbyHQdF2LiYjgOu91ichd50jkfLecuDqcOt6aeU6x+x5t5/IUWdvAJIfc0z/nDDpdkDK0K9CnKK2SH+VvyJ5JeVI3soe4NYI0v6Do3Gy1/uY5PzfHRl6HhzAexgUbaTHzKvA75zHCcjQ6FTnvS0DPkciQn8It64udWcJuwGxtDhfyFeAL5GOqfch3YG7ItGLnXg06gu3rtdrJPpYN9b5sfb7Ti6Y2kgFzqPOj/XXSI7GWCQP6V9I1CUgm4Op7fEax+TnOBfIGp3rYOgizSW3I1HBY5q2ORecw/7qB1G3MRIdHOTjfT0RuTl4DxmyO8ZxDaN2R2RIcRNOs0Kv7ZlIZ99Avi9B0UZK/M8HTvexLQXJn5vv7/kIlq4udWfRqqhaxmkmNRJpC98J6ezZDOmu+rS1dl4k6FZWGeJUepRZa60x5mGgj7X27AjSjrfWljllngOQLrX9kUZu8UjY+llr7WJ/dIOp7ep94+uceOyTi3SSHRZuXU99573qjMyd1R/piPs/ZJioOzKZ4ibrRz+fYOn6eh1k2MW7rP4loK2/n71gazv9du5HmjYmIjcxSxDHYwDwqbX2igDtDZq2x2scUxFljHkOyfUaGGm6Suyijk0tYIxpB3R2Hh5EIiu/IA5IQyTxb5e1dk8k6HppG+SO/mvr9NtxthukOdg262dPi2Bq+3itJKRS5RdkKGmvtfZgTTRDoe3jtc4Gdlr/5tAJma6ReX/ORRzrfkje1B5kqOtFG3grg6Doer2GQRzTMiS6UgDcb63NiwRtRyPOcarrIXNnZSNR2dOQSMuLQL7n9ygCtCt0EPexvT7S6mK2tbbac54FS1epO6hjU0OMMRORXhy9EEdjI5IcuxT4t/VqAx5uXR/aB5Hkx61IAuFr1tqvI03bu7/G8X78IlW7tgiWrod+HOJ8tkIu2N8iPU/2OhdIi+TH7IoEXR/aKUgl3jLr0cHZSLPLc621CyNFu5LXc/d7MsY0sdburalmKLS9XicRicquiAZdJXZQx6YGOMNDG5CqgtnIj965wNlIOH07Uq30pT+Nq4KlWw3tbogTcqujHW/96BIaLG1jTDMkQXohcne53HXMnk6I04Rsq/Wjs24YtT0bvXUDdtjqd14Oiq6HfiPg70iVWDlyETeIg70EiaSsd/atdrO7YOlWor0VcZIOI8O1L1hrv6quXii0nQt0R6DI+mgwV5Nmd+HUDpRg6Sp1EBsBiT7RuiCTr31YybYBSM7ARqBlJOhGq7ajW4yU2pYhd/n3IhOJuvZJRxIkO8W6djBtdp57F+I49XUen4zMdzYbmbriDaBVpOhWQ3sV8HqkaSN9kw4C/0CSZdtwbCl2Y2QyzGMS8KNA+zz8a74ZFF1d6t4SdgOieUE6CX8JZDqPkz2/cEjJ7ZfAbyJBN1q1kXyLOUijuZ5IEuR65KK+Eum8fCdwIACbo047mDY7+v8DbvOxPp6j0028FSm60aqN9GpZ6uiXIfkujyI3AU2cfSYAK+uCdjBt1qVuLWE3IJoXpMfMWqTxnGc/jjiP/5cDUyJBNxq1EefoVuAur/VNkGGuucjQXDlwt5/2Rp12MG12dBKQSMQHOFEIvKaQAIY473OvcOtGqzYyTFuA4+Qjc5L9EZlwtRyJYE1F+lc97qfNUacdTJt1qXtL2A2I1gVnbiZgDNICfj8yDp/F0bbq4531GeHWjXLtZJzW+94XFWfd2QQw7UO0agfTZuf5/ZHhrQfxMb8UMsx1AClrDrtuNGoDqYiDOszHtt5I07/dzvvo73mOOu1g2qxL3VvCbkC0L0BTZDhgAtKV9ICzbHB+DHMjSTfatDma4N7J+6Lise0eAmuPH3XawbTZeW4cEqW4Dmn8+BMSgRuK9E66GGlauCoSdKNcuz4ekzi6Fo/tfwI+CfB9jDrtYNqsS91atCoqAIwxJyAzz05CJgH8BfgZmUdoJdIAqzMy7v5NuHWjVdtD9zbgR6TT6A6k3Xq+tfag06fjOmC7tfbNWNYOps2VvF5TZPqA3wCnItG2w0jC7P3W2g8jSTcatSurTjLGpCBdmf9hrX0wQHujTjuYNit1B3VsAsDpetkDqeLYg8yBdAoyxcGPwB8D/JELim60alei2xupStkKPGStfbsWbY5o7WDa7Og3BvZ7Xlickvd6SEPITOCgv+9lsHSjVduXro996gGXAP+y1pbEsnYwbVbqKOEOGUXbgoRHDwDZXus6IHPFvI0Mu5wWCbrRql2FbjoS/n8bmcupNm2OWO1g2uyh9zRwLeKUNq5kn2au1w63brRqV1O3aRDfw4jSDqbNutTNJewGRNuC3DF/TiWzDiOJnR8joQsSV4oAAAHgSURBVOmw60ardjV0k4Joc8RpB9Nm5/mXIomZPyO9hp5GJv/szNEZtxsCrwGnhFs3WrUr0b0AmUTTpeuaMiCzFmyOaO1g2qxL3V3CbkC0Lc6X7B2k50IXfM+ofBMyqVzYdaNVOxptjtbz4TzX1RunEzAZcaIOIU3+/oTMLTQRKIkE3WjVjkabo/V86FJ3l7AbEI0LUv75qXORuQoZDmjobEsB/o20h48I3WjVjkabo/F8IFU/04AHvNb3AGYh+Tu7kGTlv4dbN1q1o9HmaD0futTtJewGROuCJA6+glQA7UISOucCW4AP8TP0HWzdaNWORpuj8XwAzYCTnf+T8MoZQRI3y4FTI0E3WrWj0eZoPR+61N1Fq6JqiFOCex7SmO4w0oH0VRvghHvB1o1W7Wi0OZjawbTZ4zXikAtNmTHmOqTja0qk6kardjTaHEztYNqs1A3UsalF/J2RONy60aodjTYHUzuYNnu8xm3IhIQPRYNutGpHo83B1A6mzUrsoo6NoijHxRiTCJTVtgMVLN1o1Y5Gm4OpHUybldhFHRtFURRFUWKGuHAboCiKoiiKUluoY6MoiqIoSsygjo2iKIqiKDGDOjaKoiiKosQM6tgoiqIoihIzqGOjKIqiKErM8P8B/NJLBwdxsrgAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 504x360 with 1 Axes>"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "## Triangle plus Edge (1 round)\n",
    "## ============================\n",
    "''' params found by grid search with a resolution of 1/1000'''\n",
    "\n",
    "circ_tpluse = QuantumCircuit(5,5)\n",
    "QAOA(circ_tpluse, TplusE, [numpy.pi*21.0/200.0], [numpy.pi*26.0/125.0])\n",
    "# sim\n",
    "result_tpluse_simulator = execute(circ_tpluse, qasm_simulator, shots=4096).result()\n",
    "counts_tpluse_simulator = result_tpluse_simulator.get_counts(circ_tpluse)\n",
    "# device\n",
    "result_tpluse_ibmqx2 = execute(circ_tpluse, ibmqx2, shots=4096).result()\n",
    "counts_tpluse_ibmqx2 = result_tpluse_ibmqx2.get_counts(circ_tpluse)\n",
    "\n",
    "# results\n",
    "plot_histogram(\n",
    "    [counts_tpluse_simulator,counts_tpluse_ibmqx2], \n",
    "    legend=['Simulator','ibmqx2'],\n",
    "    title='1-round QAOA for MaxCut on Triangle+Edge {}'.format(TplusE.edges())\n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Error checking job status using websocket, retrying using HTTP.\n"
     ]
    },
    {
     "data": {
      "image/png": "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mjQptkmTJm2rVq2adPvtt8evWrWqUlJS0tnVqlVLuuyyy5oePnzYAApuG9h+5cqVlSggLS0tonfv3s1q167dvkaNGh169+7dbP369VEAo0ePbpCcnFzt3nvvbVylSpWkYcOGNQb45JNPqrZt27ZV9erVO7Rt27bVJ598UjVQX5cuXVqOHj26QceOHc+uUqVKxzVr1hz1nMVRYiMiInKaatu27eGIiAgGDRqUMH369BppaWnFNm188sknNZYsWbL6888/X/Pss8/WHzFiRJM33nhjw6ZNm5avXbs2+sUXX4wJN4acnBx+85vf7Ny8efOKTZs2La9cuXLuzTff3Bjgr3/9a0qnTp32P/zww5sPHjy45LXXXtu8Y8eOiMGDBzcfOXLkjvT09KWjR4/eMXjw4Obbt2/Pi33GjBkxL7zwwsaMjIzFzZs3zwwnHiU2IiIip6mYmJjcefPmfWdmjB49OiEuLq7DRRdd1GzLli2FDjW5++67t8fExOR27tz5cPPmzQ9ddNFF+1q3bp1Zp06dnIsuumjvkiVLqoQbQ/369XOuv/76PdWrV8+tXbt27n333Zf69ddfVy+q/IwZM2o2adLkyKhRo9KjoqK4+eab05s2bXp4+vTptQJlfvWrX+3q3Lnz4aioKCpVqhRWt5oSGxERkdNYx44dD8+cOXPjjh07ln/zzTerfvzxx6hbb721UWFl4+PjswP3K1eunFuvXr2swOPo6OjcAwcOhJ0XZGRkVBg6dGiT+Pj4dtWqVUvq16/f2RkZGRGBS2YUtG3btooNGzY8ErysYcOGmSkpKVGBx40aNQqrlSaYEhsREZFyIikp6fDQoUN3rl27NvpE6qlWrVruoUOH8nKEzZs3F3my0YQJE+qtW7eu8ldffbVm//79Sz7++OPvgLxrcplZvhaX+Pj4zK1bt+YbN5OSklKxQYMGeUmWmR137EpsRERETlNLliypPH78+HqBwbrr1q2LmjFjRp2OHTseOJF6O3fufHDdunXRCxcujD548KDdc889Rc5Zk5GREVG5cuXcunXr5uzYsSNi/Pjx+crGxsZmb9iwIS+RGTx48N6NGzdWeu6552KysrJ48cUXa69bt67ylVdeWSKT6up0bxERkTCFM89MaapVq1bON998U/XZZ5+tl5GREVG9evWcPn367H366ae3vP7667WPt95zzjnnyO9///ttAwYMaFGpUiV3//33b/3HP/4RW1jZe+65Z8dVV13VtG7duh1+9rOfZY0aNWr73Llz88bL3HHHHTtGjBiR+Nprr8UOGjRo16uvvrplxowZ68aMGdPorrvuaty4ceMjM2bMWBcXF1d431WYLNBUdCbS1b1FRKSgmJiYZOdc58DjZcuWbWzfvn2ZTC4noVm2bFnd9u3bJxS2Tl1RIiIiUm4osREREZFyQ4mNiIiIlBtKbERERKTcUGIjIiIi5YYSGxERESk3lNiIiIhIuaHERkRERMoNJTZnoLlz59KlSxc6derEU089ddT6qVOn0rVrVy688EIGDhzIli1b8tZt3bqVQYMGcd5559G1a1c2b94MwGWXXUaPHj3o0aMHrVu35tprry2z/REROVM1a9aszQcffFB9zJgx8VdccUXiyY7nVKBLKpxhcnJyGDt2LLNmzSI+Pp6LL76Y/v37c/bZZ+eVOeecc5g3bx5VqlThlVdeYfz48bzyyisAjBw5kjFjxtC7d2/2799PhQpebvzhhx/mbT9s2DAuu+yyst0xEZEytL7lA51Ks/6z1j4Q0iUb1q1btwpg3rx51UsznlC99dZbNR999NH633//fXSlSpXcxRdfvOe5557bUrt27dyyikEtNmeY5ORkEhMTSUhIoGLFigwaNIg5c+bkK9O9e3eqVKkCQOfOndm2bRsA3333HdnZ2fTu3RuAatWq5ZUL2LdvH1988YUSGxGRM9CePXsi7r333tRt27YtX7NmzcrU1NSKo0aNaliWMSixOcOkpqbSoEGDvMfx8fGkpqYWWf7111+nT58+AKxfv56aNWsybNgwevbsyf33309OTk6+8h9++CE9evSgRo0apbMDIiKSp0GDBu3efffd6gBHjhyxAQMGNK1atWpS69atWy1atCg6uNx9991Xr0WLFq2jo6OTrrrqqiZbtmyJ7NGjR/OqVasmXXDBBS3S0tIiAuWnTp0aEx8f365WrVod7r777vrBz9OzZ89mv/3tb/OSlZ///OdNr7zyygSAW265JX3IkCH7qlevnhsbG5tz4403pn377bfVyuyAoMRGijF9+nSWLFnC6NGjAcjOzmbRokVMmDCBTz/9lI0bN/Lmm2/m22bmzJkMHjz4ZIQrInJGmzt3bq0hQ4bsTk9PXzpkyJD0IUOGNDty5IgF1r/33nu1P/300+9Xr169cu7cubUuueSS5g8//PDWtLS0pbm5uUyaNOlnAMnJyZXvuuuuJi+//PIPqampy3bt2hW5Y8eOioF6pk2btnHmzJl13nvvverPPvtszNKlS6u+8MILmwuL6fPPP6/eokWLw6W/9z9RYnOGiYuLIyUlJe/xtm3biIuLO6rcf/7zHx5//HHefPNNKlWqBHitO+3atSMhIYHIyEgGDBjA8uXL87bZtWsXixcvpl+/fqW/IyIikk+bNm0ODh8+fHelSpXc+PHjd2RmZtpnn31WNbD+lltu+bFRo0bZiYmJWeeee+7+pKSkA926dTtUpUoV94tf/GLPsmXLqgD84x//qH3RRRftvfTSS/dHR0e7J554YpuZuUA9jRs3zn7iiSc23XTTTYnjxo1r9PLLL/9Q2Biad955p8aMGTPqTJw4MaXgutKkxOYM07FjRzZs2MCmTZvIzMxk1qxZ9O/fP1+Z5cuXM2bMGN58801iY2Pzbbt371527twJwPz582nZsmXe+vfee49LLrmEypUrl83OiIhInvj4+MzA/YiICOrVq5e1ZcuWqMCyuLi4rMD9ypUr59arVy878Dg6Ojr34MGDEQDbtm2LatCgQV5dNWrUyK1Vq1ZeWYCrr756b25uLomJiUcuueSS/QVj+fTTT6vecMMNidOmTVt/zjnnHCm5vTw2JTZnmMjISCZPnsyQIUPo2rUrAwcOpFWrVkycODFvEPH48eM5cOAAw4cPp0ePHgwdOhTwPigTJkxg4MCBdOvWDfDOgAqYNWsWgwYNKvudEhERtm3bltddlJOTw44dO6IaNWqUVdw2hYmLi8tKSUnJqysjI6PCnj178p1Fffvttzc466yzDv/4449Rzz//fEzwui+//DL6yiuvbDZ16tSNV1xxRcbx7MuJ0OneZ6C+ffvSt2/ffMvGjRuXd/+dd94pctvevXuzYMGCQte9//77JROgiIiEbdWqVVX+/ve/1xo6dOiehx56qF7FihVd7969D4Rbz69//evdPXr0qP/RRx9V69mz54E777wz3jmXN1Znzpw51aZPn15n8eLFq9euXVvp17/+9Vn9+vXLSExMzPrmm28qX3755S0eeeSRzUOHDt1bsnsYGiU2IiIiYQp1npmy1KdPnz3Tp0+PufXWWxMbN2585J///Of6SpUquWNvmV/nzp0PP/LII5uvv/76xEOH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GUPv3r3Zv39/XvfyQw89RI0a3u/TP/7xj7z00ktHJUwip7pQ57HZ5f81YDf5r+ydCSwAXizBuEREpAgnMl/Vd999R3Z2Nr179wbI1yITSGqccxw+fJgCFzsWOS2ElNg454YDmNlG4DHn3IHSDEpERIp2IvNVrV+/npo1azJs2DA2bdpEz549GT9+PBER3lmQo0aNYu7cubRs2ZL/+7//K5X4RUpTuJdUeFBJjYjI6Ss7O5tFixYxYcIEPv30UzZu3Mibb76Zt37q1KmsXr2aFi1a8M4775zESEWOzzETGzNbbma1/fsr/MeF3ko/XBEROZH5quLj42nXrh0JCQlERkYyYMAAli/P//UdERHBoEGDeP/990s0bpGyEEpX1EwgMFi4uJmHRUSkDATPVxUXF8esWbN44YUXQt5279697Ny5k7p16zJ//nySkpJwzvHDDz/QtGlTnHPMmTOH5s2bH7tCkVNMKDMPP1jYfREROTmC56vKycnhmmuuyZuvKikpiUsvvZTFixdz3XXXsXfvXv79738zadIkFi1aREREBBMmTGDgwIE45+jQoQPDhg3DOcett95KRkYGzjnatm3LY489drJ3VSRsYc1jU95oHpuiaR4bETlTaR6b01soV/degTd/zTE558454YikTIz9e+1i199TRnGIiIiUpFCv7i0iIiJyygtrjI2IiIjIqUyXaRYREZFyI5QxNsuBns653ccab6MxNiIiInIyaR4bERERKTfKfB4bM7sVuAuIA1YBdzjnviiibBzwONARaA5Mc85dX0i5GsCfgSFAHWALMM45N/1E4xUREZHTR6hX987HzM4CWvkP1zjn1oe43a+AKcCteFcEvxWYY2atnXObC9mkErATmATcVESdUcAnQDpwFbAVaMhPrUwiImek4qZ1mPyb3WUYiUjZCSuxMbM6wMvA5UDuT4vtA+AG59yuY1QxBnjVOfei/3i0mfUHRgL3FizsnNsI/M5/kiFF1DkciAW6O+cy/WUbQ9ohERERKVfCPSvqJaAZ0B2o7N96AInAi8Vsh5lVBDoBHxdY9TFwQZhxBBsIfAn81cy2m9lqM3vAb8kRERGRM0i4XVGXABc75xYFLfvSzG4G5h5j27pABLCjwPIdQJ8w4wjWFLgIeBMYACQAU4FqwB8KFjazm/C7teLi4li8eDHgXfG2SpUqrFu3DoCaNWvStGlTlixZAnhXu23fvj1r167lwIEDALRq1Yr09HR27PB2qWHDhlSsWJENGzYAULt2bRo3bsyyZcsAiIqKol27dqxZs4ZDhw4B0Lp1a9LS0khLSwOgSZMmmBkbN24EoE6dOsTFxbFy5UoAKlWqRJs2bVi1ahVHjni9bW3btiU1NZVdu7wGs4SEBJxzbNq0CYDY2FhiY2NZvXo1ANHR0ZxILrl48WKqVq1Ky5YtWbZsGTk5OQAkJSWxYcMG9u7dC0CzZs04ePAg27ZtI3C8a9Sowdq1awGoXr06zZs3Z8mSJTjnMDOSkpL43//+R0ZGBgAtW7Zk3759pKamnpKv0/Tp03nmmWcwM4YNG0bv3r3zvU5vvPEGU6ZMYcOGDTz//PN07tw53+u0b98++vXrR7du3ZgwYQJVq1Zl6NChpKamEhERwRVXXMGgQYPIysoCoH379mzevJndu71uhKZNm5KZmcnWrVsBqFevHjExMaxZswZAr1MZfZ5atWrFihUrTrnXyftqLNzixYv1OhXxOsnpLaxrRZnZJuAXzrnlBZa3B953zjUuZtt4IAXv1PH5QcvvB65xzrU8xnN/AOwsOHjYzL7HazlKdM7l+MtuAp4EqrlidvBMvlbUMS+p8OwDRa7TtaI8OTk5nHvuucyaNYv4+HguvvhiXnzxRc4+++y8Mps3byYjI4Onn36a/v37c8UVV+Sr45577mHXrl3Url2byZMnc/DgQZKTk+nevTuZmZkMHDiQ3//+9/Tt27esd++4zJ07l3HjxpGTk8N1113HHXfckW/9woULGTduHKtWreKll1466njs27eP888/nwEDBjB58mQA/vznP/PWW2+xa9cuGjVqVKJ1L126lFGjRnH48GH69u3Lww8/7CcE5YPG2BwfXSvq9BZuV9QE4CkzaxBY4N9/3F9XnJ1ADlCvwPJ6wPYw4wiWCnwfSGp8a4AqeK1EIqUiOTmZxMREEhISqFixIoMGDWLOnDn5yjRu3Jg2bdpQocLRH7WlS5eSlpaW18oDUKVKFbp37w5AxYoVOeecc/J+oZ/qcnJyGDt2LNOnT2fRokXMnDmT7777Ll+Zhg0bMnXqVIYMKXzI3MSJE7nggvytiZdccgkfffQRmZmZJV73H/7wB5566im+/fZb1q9fz9y5x2p4FpFT3TETGzNbYWbL/Yn6bgfOBTaa2UYz24g3UPc8/EG+RfEH9iYDBX969gUWhh96ni+BZmYWvC8tgIN4yZSc4ebOnUuXLl3o1KkTTz311FHrFy5cSK9evYiNjWX27Nl5y7ds2UKvXr3o0aMH559/Pn/729/y1s2cOZMbb7yRJUuWMGTIEHbt2kV8fHxeV8yx5Obmct999zFhQtG/B/bu3ctHH31Ez549w9jbk6c0Ej2Ac889l5SUFCpUqFCidW/fvp2MjAzOPfdczIyrr76aDz/88EQOgYicAsr6IphPANPM7Gu8hOQWIB54DsDMXgNwzg0LbGBmHfy7NYBc/3Gmc261v/xZ4DZgipk9jTfG5kHgmeK6oeTMEGhFCO4u6t+/f77uok2bNrF7926io6P517/+ldeFUa9ePT766COSk5O55557uPPOOzEzrr32Wu69915uu+02pkyZwvLly+natSv9+vWjatWqZGRkMGDAgLz6t23bRt26denXr1/espdffpm+ffvSoEEDCpOdnc2IESO46aabSEhIKJ2DU8JSU1Pz7U98fDzJycn5ygS6qrZv305WVlbesQ4keiNGjOC+++4jJSWFbt265a1fsWIFOTk59OjRg6ysLDp27BjysQ7U/dxzz/H555/nizc+Pj5fvKEmpiJy6irTi2A65/7pnzL+J7wJ+lYClznnNvlFChujs6TA418Am/ASGJxzW8ysH17StBSvW+sVvAn75AwX3IoA5P3SDyQ2OTk5PProo8yePZtJkyaxaNEivvvuO84++2wqVqwIeF0ckyZN4sorrwTAOYdzjsaNG3POOeeQmJhIy5YtmTRpEsOHD6d69erMn583jIzevXtTt27+XtFvvvmGRYsW8fLLL3PgwAEyMzOpWrUq48ePB+COO+7grLPOYuTIkaV9iMpMcJJZ8FgHEr2kpCSuu+463n777Xzb1qpVi4iICObPn8/+/fvp0KEDl1xySUjH+lhJpIiUL8c1Qd+JcM49AzxTxLpehSw75kg+59xXnNgp41JOHasVITjxiYiIoEuXLvkSn61btzJ06FB++OEHWrduTe3atYmKiuKxxx7jtttu4/Dhw+zbt48777yT+++/n169euV7/nXr1pGWlkarVq3yLX/hhRfy7r/55pssXbo0L6l56KGH2LdvH3/5y19K+nCUqri4OFJSUvIeb9u2jbi4uLzHxR3rgonevn37ePvtt/NabBo1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\n",
      "text/plain": [
       "<Figure size 504x360 with 1 Axes>"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "## Triangle plus Edge (2 rounds)\n",
    "## =============================\n",
    "''' params found by grid search with a resolution of 1/20'''\n",
    "\n",
    "circ_tpluse2 = QuantumCircuit(5,5)\n",
    "QAOA(circ_tpluse2, TplusE, [numpy.pi*3.0/20.0,numpy.pi*1.0/20.0], [numpy.pi*1.0/5.0,numpy.pi*2.0/5.0])\n",
    "# sim\n",
    "result_tpluse2_simulator = execute(circ_tpluse2, qasm_simulator, shots=4096).result()\n",
    "counts_tpluse2_simulator = result_tpluse2_simulator.get_counts(circ_tpluse2)\n",
    "# device\n",
    "result_tpluse2_ibmqx2 = execute(circ_tpluse2, ibmqx2, shots=4096).result()\n",
    "counts_tpluse2_ibmqx2 = result_tpluse2_ibmqx2.get_counts(circ_tpluse2)\n",
    "\n",
    "# results\n",
    "plot_histogram(\n",
    "    [counts_tpluse2_simulator,counts_tpluse2_ibmqx2], \n",
    "    legend=['Simulator','ibmqx2'],\n",
    "    title='2-round QAOA for MaxCut on Triangle+Edge {}'.format(TplusE.edges())\n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [],
   "source": [
    "## Evaluation Functions\n",
    "def cutsize(G, cut):\n",
    "    # G:   networkx graph\n",
    "    # cut: 5-digit binary string\n",
    "    size = 0\n",
    "    for u, v in G.edges():\n",
    "        if cut[4-u] != cut[4-v]:\n",
    "            size += 1\n",
    "    return size\n",
    "\n",
    "def resultstats(G, counts):\n",
    "    # stats\n",
    "    expectation = 0.0\n",
    "    probability = 0.0\n",
    "    # vals\n",
    "    num_shots = sum(counts.values())\n",
    "    maxcut = max([cutsize(G, format(cut, '05b')) for cut in range(2**5)])\n",
    "    \n",
    "    # compute stats\n",
    "    for key, val in counts.items():\n",
    "        expectation += val * cutsize(G,key)\n",
    "        if cutsize(G, key) == maxcut:\n",
    "            probability += val\n",
    "            \n",
    "    expectation /= num_shots\n",
    "    probability /= num_shots\n",
    "    \n",
    "    return expectation, probability"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Results\n",
      "=======\n",
      "* \"Edge\" has\n",
      "  - Theoretical  Expectation 1.000 and MaxCut Probability 1.000\n",
      "  - Experimental Expectation 0.950 and MaxCut Probability 0.950\n",
      "* \"Triangle\" has\n",
      "  - Theoretical  Expectation 1.999 and MaxCut Probability 1.000\n",
      "  - Experimental Expectation 1.904 and MaxCut Probability 0.952\n",
      "* \"TplusE (1 round)\" has\n",
      "  - Theoretical  Expectation 2.720 and MaxCut Probability 0.744\n",
      "  - Experimental Expectation 2.519 and MaxCut Probability 0.652\n",
      "* \"TplusE (2 rounds)\" has\n",
      "  - Theoretical  Expectation 2.874 and MaxCut Probability 0.895\n",
      "  - Experimental Expectation 2.570 and MaxCut Probability 0.727\n"
     ]
    }
   ],
   "source": [
    "## Printing Result Statistics\n",
    "print(\"Results\\n=======\")\n",
    "\n",
    "output = '''* \"{}\" has\n",
    "  - Theoretical  Expectation {:.3f} and MaxCut Probability {:.3f}\n",
    "  - Experimental Expectation {:.3f} and MaxCut Probability {:.3f}'''\n",
    "\n",
    "print(output.format(\"Edge\",\n",
    "                    *resultstats(Edge, counts_edge_simulator),\n",
    "                    *resultstats(Edge, counts_edge_ibmqx2)))\n",
    "print(output.format(\"Triangle\",\n",
    "                    *resultstats(Triangle, counts_triangle_simulator),\n",
    "                    *resultstats(Triangle, counts_triangle_ibmqx2)))\n",
    "print(output.format(\"TplusE (1 round)\",\n",
    "                    *resultstats(TplusE, counts_tpluse_simulator),\n",
    "                    *resultstats(TplusE, counts_tpluse_ibmqx2)))\n",
    "print(output.format(\"TplusE (2 rounds)\",\n",
    "                    *resultstats(TplusE, counts_tpluse2_simulator),\n",
    "                    *resultstats(TplusE, counts_tpluse2_ibmqx2)))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 864x648 with 5 Axes>"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from qiskit.tools.visualization import plot_error_map\n",
    "plot_error_map(ibmqx2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "ename": "NameError",
     "evalue": "name 'circ_tpluse' is not defined",
     "output_type": "error",
     "traceback": [
      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[0;31mNameError\u001b[0m                                 Traceback (most recent call last)",
      "\u001b[0;32m<ipython-input-1-c909946229ce>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mcirc_tpluse\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdraw\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
      "\u001b[0;31mNameError\u001b[0m: name 'circ_tpluse' is not defined"
     ]
    }
   ],
   "source": [
    "circ_tpluse.draw()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
